﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using MoneyLover.WCFMoneyLover;

namespace MoneyLover.Pages
{
    public partial class No : PhoneApplicationPage
    {
        public No()
        {
            InitializeComponent();
        }
        MoneyLoverServiceClient _db = new MoneyLoverServiceClient();
        public VAY_NO _no = new VAY_NO();
        private void islai_Checked(object sender, RoutedEventArgs e)
        {
           
                txtlaisuat.Visibility = Visibility.Visible;
                lblaisuat.Visibility = Visibility.Visible;
                _no.ISLAI = true; 
            
        }

        private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
        {
            islai_Unchecked(sender, e);
            DateTime dt = DateTime.Now;
            txtNgayVay.Text = dt.Day.ToString() + "/" + dt.Month.ToString() + "/" + dt.Year.ToString();
            if (dt.Month != 12)
            {
                txtNgayTra.Text = dt.Day.ToString() + "/" + (dt.Month + 1).ToString() + "/" + dt.Year.ToString();
            }
            else
            {
                txtNgayTra.Text = dt.Day.ToString() + "/" + "1/" + dt.Year.ToString();
            }
        }

        private void islai_Unchecked(object sender, RoutedEventArgs e)
        {
            txtlaisuat.Visibility = Visibility.Collapsed;
            lblaisuat.Visibility = Visibility.Collapsed;
            _no.ISLAI = false;
        }

        private void txtNgayVay_MouseLeave(object sender, MouseEventArgs e)
        {
            if (String.IsNullOrEmpty(txtNgayVay.Text.Trim()))
            {
                DateTime dt = DateTime.Now;
                txtNgayVay.Text = dt.Day.ToString()+"/"+dt.Month.ToString()+"/"+dt.Year.ToString();
            }
        }

        private void txtNgayVay_MouseEnter(object sender, MouseEventArgs e)
        {
            txtNgayVay.Text = "";
        }

        private void txtNgayTra_MouseEnter(object sender, MouseEventArgs e)
        {
            txtNgayTra.Text = "";
        }

        private void txtNgayTra_MouseLeave(object sender, MouseEventArgs e)
        {
            if (String.IsNullOrEmpty(txtNgayTra.Text.Trim()))
            {
                DateTime dt = DateTime.Now;
                if (dt.Month!=12)
                {
                    txtNgayTra.Text = dt.Day.ToString() + "/" + (dt.Month+1).ToString() + "/" + dt.Year.ToString();
                } 
                else
                {
                    txtNgayTra.Text = dt.Day.ToString() + "/" + "1/" + dt.Year.ToString();
                }
               
            }
        }
       
        private void btnsave_Click(object sender, RoutedEventArgs e)
        {
            if (String.IsNullOrEmpty(Invalid()))
            {
                _no.GHICHU = txtghichu.Text.Trim();
                String mano = NavigationContext.QueryString["id"];
                if (!String.IsNullOrEmpty(mano))
                {
                    _no.MAGD = int.Parse(mano);
                }
                _no.DATRA = false;
                _no.USERNAME = Contanst._tkdangnhap.USERNAME;
                _db.InsertVayNoCompleted += _db_InsertVayNoCompleted;
                _db.InsertVayNoAsync(_no);
            }
            else
            {
                MessageBox.Show(Invalid());
            }
        }

        void _db_InsertVayNoCompleted(object sender, InsertVayNoCompletedEventArgs e)
        {
           if (e.Result==false)
           {
               MessageBox.Show("Thêm khoản nợ không thành công");
           }
           else
           {
               NavigationService.Navigate(new Uri("/Pages/Sono.xaml", UriKind.Relative));
           }
        }

        private void bntsaveandadd_Click(object sender, RoutedEventArgs e)
        {
            if (String.IsNullOrEmpty(Invalid()))
            {
                _no.GHICHU = txtghichu.Text.Trim();
                String mano = NavigationContext.QueryString["id"];
                if (!String.IsNullOrEmpty(mano))
                {
                    _no.MAGD = int.Parse(mano);
                }
                _no.DATRA = false;
                _no.USERNAME = Contanst._tkdangnhap.USERNAME;
                _db.InsertVayNoCompleted += _db_InsertVayNoCompletedAdd;
                _db.InsertVayNoAsync(_no);
            }
            else
            {
                MessageBox.Show(Invalid());
            }
        }
        void _db_InsertVayNoCompletedAdd(object sender, InsertVayNoCompletedEventArgs e)
        {
            if (e.Result == false)
            {
                MessageBox.Show("Thêm khoản nợ không thành công");
            }
            else
            {
                NavigationService.Navigate(new Uri("/Pages/Giaodich.xaml", UriKind.Relative));
            }
        }
        public String Invalid()
        {
            String error = "";
            if (String.IsNullOrEmpty(txttennguoichovay.Text.Trim()))
            {
                error += "\nTên người cho vay chưa nhập";
            }
            else
            {
                _no.TENNGUOIGD = txttennguoichovay.Text.Trim();
            }
            try
            {
                _no.SOTIEN = decimal.Parse(txtsotien.Text.Trim());
            }
            catch
            {
                error += "\nNhập số tiền chưa hợp lệ";
            }
            if (islai.IsChecked == true)
            {
                _no.ISLAI = true;
                try
                {
                    _no.LAISUAT = double.Parse(txtlaisuat.Text.Trim());
                    if (_no.LAISUAT > 100)
                    {
                        error += "\nNhập lãi suất vượt quá 100%";
                    }
                }
                catch
                {
                    error += "\nNhập lãi suất chưa hợp lệ";
                }
               
            }
            if (String.IsNullOrEmpty(txtNgayVay.Text.Trim()))
            {
                error += "\nChưa nhập ngày vay";
            }
            else
            {
                string words = txtNgayVay.Text.Trim();
                try
                {
                    string[] split = words.Split(new Char[] { '/' });
                    int ngay = int.Parse(split[0]);
                    int Thang = int.Parse(split[1]);
                    int nam = int.Parse(split[2]);
                    _no.NGAYGD = new DateTime(nam, Thang, ngay);
                }
                catch
                {
                    error += "\nNgày vay không hợp lệ";
                }


            }
            if (String.IsNullOrEmpty(txtNgayTra.Text.Trim()))
            {
                error += "\nChưa nhập ngày trả";
            }
            else
            {
                string words = txtNgayTra.Text.Trim();
                try
                {
                    string[] split = words.Split(new Char[] { '/' });
                    int ngay = int.Parse(split[0]);
                    int Thang = int.Parse(split[1]);
                    int nam = int.Parse(split[2]);
                    _no.NGAYTRA = new DateTime(nam, Thang, ngay);
                    if (_no.NGAYTRA < _no.NGAYGD)
                    {
                        error += "\nNgày trả không hợp lệ";
                    }
                }
                catch
                {
                    error += "\nNgày trả không hợp lệ";
                }


            }
            return error;
        }
    }
}